package com.terrace.core.utils.enums;

import com.terrace.core.constant.ConfigConstant;

/**
 * 正则验证类型
 * 
 * @author jiangyg
 *
 */
public enum RegexType {

	/**
	 * 无
	 */
	NONE {

		@Override
		public String regex() {
			return "";
		}

	},
	
	/**
	 * 任意字符串
	 */
	STRING {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.string");
		}
		
	},
	
	/**
	 * 字母
	 */
	CHARACTER {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.character");
		}
		
	},
	
	/**
	 * 中文
	 */
	/**
	CHINESE {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.chinese");
		}
		
	},
	**/

	/**
	 * 邮箱
	 */
	EMAIL {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.email");
		}

	},

	/**
	 * IP地址
	 */
	IP {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.ip");
		}

	},
	
	/**
	 * url地址
	 */
	URL {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.url");
		}
		
	},
	
	/**
	 * 身份证
	 */
	ID_CARD {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.id_card");
		}
		
	},
	
	/**
	 * 邮编
	 */
	POSTCODE {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.postcode");
		}
		
	},

	/**
	 * 整数
	 */
	INTEGER {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.integer");
		}

	},

	/**
	 * 小数
	 */
	DECIMAL {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.decimal");
		}

	},

	/**
	 * 手机号
	 */
	MOBILE {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.mobile");
		}

	},

	/**
	 * 固话
	 */
	TELEPHONE {

		@Override
		public String regex() {
			return ConfigConstant.value("regex.telephone");
		}

	};

	/**
	 * 获取正则表达式
	 * @return
	 */
	public abstract String regex();

}
